[INFO] cloning repository https://github.com/yangbeom/kerners
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yangbeom/kerners" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyangbeom%2Fkerners", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyangbeom%2Fkerners'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 095463510325f39f45a863e6b89747efedb3d35b
[INFO] fixing yangbeom/kerners against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyangbeom%2Fkerners" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/yangbeom/kerners
[INFO] finished tweaking git repo https://github.com/yangbeom/kerners
[INFO] tweaked toml for git repo https://github.com/yangbeom/kerners written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yangbeom/kerners on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yangbeom/kerners already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e
[INFO] running `Command { std: "docker" "start" "6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]     Checking spinning_top v0.2.5
[INFO] [stderr]     Checking linked_list_allocator v0.10.5
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling kerners v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> build.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> build.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::boards::CurrentBoard`
[INFO] [stdout]   --> src/drivers/probe.rs:5:40
[INFO] [stdout]    |
[INFO] [stdout]  5 | use crate::boards::{self, BoardConfig, CurrentBoard};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ no `CurrentBoard` in `boards`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/boards/mod.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 55 | pub type CurrentBoard = qemu_virt_aarch64::QemuVirtAarch64;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/boards/mod.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 58 | pub type CurrentBoard = qemu_virt_riscv64::QemuVirtRiscv64;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::context::Context`
[INFO] [stdout]   --> src/proc/scheduler.rs:7:38
[INFO] [stdout]    |
[INFO] [stdout]  7 | use super::context::{context_switch, Context};
[INFO] [stdout]    |                                      ^^^^^^^ no `Context` in `proc::context`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            core::task::Context
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] ...
[INFO] [stdout] 96 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `context::Context`
[INFO] [stdout]   --> src/proc/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use context::Context;
[INFO] [stdout]    |     ^^^^^^^^^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              no `Context` in `proc::context`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] ...
[INFO] [stdout] 96 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] help: consider importing this struct instead
[INFO] [stdout]    |
[INFO] [stdout] 18 - use context::Context;
[INFO] [stdout] 18 + use core::task::Context;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::boards::CurrentBoard`
[INFO] [stdout]   --> src/drivers/probe.rs:5:40
[INFO] [stdout]    |
[INFO] [stdout]  5 | use crate::boards::{self, BoardConfig, CurrentBoard};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ no `CurrentBoard` in `boards`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/boards/mod.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 55 | pub type CurrentBoard = qemu_virt_aarch64::QemuVirtAarch64;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/boards/mod.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 58 | pub type CurrentBoard = qemu_virt_riscv64::QemuVirtRiscv64;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::context::Context`
[INFO] [stdout]   --> src/proc/scheduler.rs:7:38
[INFO] [stdout]    |
[INFO] [stdout]  7 | use super::context::{context_switch, Context};
[INFO] [stdout]    |                                      ^^^^^^^ no `Context` in `proc::context`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            core::task::Context
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] ...
[INFO] [stdout] 96 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `context::Context`
[INFO] [stdout]   --> src/proc/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use context::Context;
[INFO] [stdout]    |     ^^^^^^^^^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              no `Context` in `proc::context`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/proc/context.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] ...
[INFO] [stdout] 96 | pub struct Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] help: consider importing this struct instead
[INFO] [stdout]    |
[INFO] [stdout] 18 - use context::Context;
[INFO] [stdout] 18 + use core::task::Context;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]    --> src/syscall/fs.rs:863:41
[INFO] [stdout]     |
[INFO] [stdout] 863 |                 if let Some(c) = crate::arch::uart::getc() {
[INFO] [stdout]     |                                         ^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/main.rs:29:5
[INFO] [stdout]     |
[INFO] [stdout]  27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]  28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]  29 | mod arch;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/main.rs:33:5
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]  32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]  33 | mod arch;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 863 |                 if let Some(c) = crate::core::arch::uart::getc() {
[INFO] [stdout]     |                                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:3480:39
[INFO] [stdout]      |
[INFO] [stdout] 3480 |         let child_root = match crate::arch::mmu::clone_root_table(parent_root) {
[INFO] [stdout]      |                                       ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 3480 |         let child_root = match crate::core::arch::mmu::clone_root_table(parent_root) {
[INFO] [stdout]      |                                       ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4887:31
[INFO] [stdout]      |
[INFO] [stdout] 4887 |             .unwrap_or(crate::arch::mmu::current_root_table());
[INFO] [stdout]      |                               ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4887 |             .unwrap_or(crate::core::arch::mmu::current_root_table());
[INFO] [stdout]      |                               ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]    --> src/syscall/fs.rs:863:41
[INFO] [stdout]     |
[INFO] [stdout] 863 |                 if let Some(c) = crate::arch::uart::getc() {
[INFO] [stdout]     |                                         ^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/main.rs:29:5
[INFO] [stdout]     |
[INFO] [stdout]  27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]  28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]  29 | mod arch;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/main.rs:33:5
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]  32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]  33 | mod arch;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 863 |                 if let Some(c) = crate::core::arch::uart::getc() {
[INFO] [stdout]     |                                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4888:34
[INFO] [stdout]      |
[INFO] [stdout] 4888 |         let kernel_root = crate::arch::mmu::kernel_root_table();
[INFO] [stdout]      |                                  ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4888 |         let kernel_root = crate::core::arch::mmu::kernel_root_table();
[INFO] [stdout]      |                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4889:42
[INFO] [stdout]      |
[INFO] [stdout] 4889 |         let isolated_root = match crate::arch::mmu::clone_root_table(kernel_root) {
[INFO] [stdout]      |                                          ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4889 |         let isolated_root = match crate::core::arch::mmu::clone_root_table(kernel_root) {
[INFO] [stdout]      |                                          ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4894:19
[INFO] [stdout]      |
[INFO] [stdout] 4894 |         if crate::arch::mmu::switch_root_table(isolated_root).is_err() {
[INFO] [stdout]      |                   ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4894 |         if crate::core::arch::mmu::switch_root_table(isolated_root).is_err() {
[INFO] [stdout]      |                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4898:28
[INFO] [stdout]      |
[INFO] [stdout] 4898 |             let _ = crate::arch::mmu::switch_root_table(old_root);
[INFO] [stdout]      |                            ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4898 |             let _ = crate::core::arch::mmu::switch_root_table(old_root);
[INFO] [stdout]      |                            ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4909:27
[INFO] [stdout]      |
[INFO] [stdout] 4909 |                 if crate::arch::mmu::switch_root_table(old_root).is_err() {
[INFO] [stdout]      |                           ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4909 |                 if crate::core::arch::mmu::switch_root_table(old_root).is_err() {
[INFO] [stdout]      |                           ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]   --> src/time/mod.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let rtc_ns = crate::arch::rtc::read_epoch_ns();
[INFO] [stdout]    |                         ^^^^ unresolved import
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout] 29 | mod arch;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout] 33 | mod arch;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let rtc_ns = crate::core::arch::rtc::read_epoch_ns();
[INFO] [stdout]    |                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `arch` in this scope
[INFO] [stdout]    --> src/main.rs:587:31
[INFO] [stdout]     |
[INFO] [stdout] 587 |             if let Some(ch) = arch::uart::getc() {
[INFO] [stdout]     |                               ^^^^ use of unresolved module or unlinked crate `arch`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `arch`, use `cargo add arch` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `arch` in this scope
[INFO] [stdout]    --> src/main.rs:662:29
[INFO] [stdout]     |
[INFO] [stdout] 662 |                 let ticks = arch::timer::ticks();
[INFO] [stdout]     |                             ^^^^ use of unresolved module or unlinked crate `arch`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `arch`, use `cargo add arch` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `crate::proc::percpu`
[INFO] [stdout]    --> src/log/mod.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let cpu_id = crate::proc::percpu::get_cpu_id() as usize;
[INFO] [stdout]     |                                       ^^^^^^^^^^ not found in `crate::proc::percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `KERNEL_START` in this scope
[INFO] [stdout]    --> src/mm/mod.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |         kernel_start: KERNEL_START,
[INFO] [stdout]     |                       ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PLT_ENTRY_SIZE` in this scope
[INFO] [stdout]   --> src/module/loader.rs:33:44
[INFO] [stdout]    |
[INFO] [stdout] 33 | const MAX_PLT_ENTRIES: usize = PAGE_SIZE / PLT_ENTRY_SIZE;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PLT_ENTRY_SIZE` in this scope
[INFO] [stdout]   --> src/module/loader.rs:67:49
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let plt_addr = self.base + self.count * PLT_ENTRY_SIZE;
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `USER_TLSDESC_RESOLVER_ADDR` in module `crate::proc::user`
[INFO] [stdout]    --> src/module/loader.rs:444:66
[INFO] [stdout]     |
[INFO] [stdout] 444 |     const EXEC_TLSDESC_RESOLVER_ADDR: usize = crate::proc::user::USER_TLSDESC_RESOLVER_ADDR;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::proc::user`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/user.rs:50:11
[INFO] [stdout]     |
[INFO] [stdout]  49 | #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
[INFO] [stdout]     |          -------------------------------------------------- the item is gated here
[INFO] [stdout]  50 | pub const USER_TLSDESC_RESOLVER_ADDR: usize = USER_TLSDESC_HELPER_BASE;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Context` in this scope
[INFO] [stdout]    --> src/proc/context.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub fn context_switch(old_ctx: *mut Context, new_ctx: *const Context);
[INFO] [stdout]     |                                         ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   5 + use core::task::Context;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Context` in this scope
[INFO] [stdout]    --> src/proc/context.rs:168:66
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub fn context_switch(old_ctx: *mut Context, new_ctx: *const Context);
[INFO] [stdout]     |                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   5 + use core::task::Context;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `percpu`
[INFO] [stdout]    --> src/proc/scheduler.rs:14:26
[INFO] [stdout]     |
[INFO] [stdout]  14 |     let cpu_id = percpu::get_cpu_id();
[INFO] [stdout]     |                          ^^^^^^^^^^ not found in `percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:3480:39
[INFO] [stdout]      |
[INFO] [stdout] 3480 |         let child_root = match crate::arch::mmu::clone_root_table(parent_root) {
[INFO] [stdout]      |                                       ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 3480 |         let child_root = match crate::core::arch::mmu::clone_root_table(parent_root) {
[INFO] [stdout]      |                                       ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `simple_user_program` in this scope
[INFO] [stdout]     --> src/proc/user.rs:1217:17
[INFO] [stdout]      |
[INFO] [stdout] 1217 |     let entry = simple_user_program as usize;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `percpu`
[INFO] [stdout]    --> src/proc/mod.rs:225:26
[INFO] [stdout]     |
[INFO] [stdout] 225 |     let my_cpu = percpu::get_cpu_id();
[INFO] [stdout]     |                          ^^^^^^^^^^ not found in `percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `USER_TLS_DATA_REGION_BASE` in module `crate::proc::user`
[INFO] [stdout]    --> src/syscall/process.rs:861:42
[INFO] [stdout]     |
[INFO] [stdout] 861 |     let region_base = crate::proc::user::USER_TLS_DATA_REGION_BASE;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::proc::user`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/user.rs:52:11
[INFO] [stdout]     |
[INFO] [stdout]  51 | #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
[INFO] [stdout]     |          -------------------------------------------------- the item is gated here
[INFO] [stdout]  52 | pub const USER_TLS_DATA_REGION_BASE: usize = USER_TLS_REGION_BASE + USER_TLSDESC_HELPER_SIZE;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `USER_TLS_DATA_REGION_SIZE` in module `crate::proc::user`
[INFO] [stdout]    --> src/syscall/process.rs:862:55
[INFO] [stdout]     |
[INFO] [stdout] 862 |     let region_end = region_base + crate::proc::user::USER_TLS_DATA_REGION_SIZE;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::proc::user`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/user.rs:54:11
[INFO] [stdout]     |
[INFO] [stdout]  53 | #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
[INFO] [stdout]     |          -------------------------------------------------- the item is gated here
[INFO] [stdout]  54 | pub const USER_TLS_DATA_REGION_SIZE: usize = USER_TLS_REGION_SIZE - USER_TLSDESC_HELPER_SIZE;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `fd` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3347:15
[INFO] [stdout]      |
[INFO] [stdout] 3347 |         match fd::clone_fd_table_group(parent_files_group, child_files_group) {
[INFO] [stdout]      |               ^^ use of unresolved module or unlinked crate `fd`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `fd`, use `cargo add fd` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]      |
[INFO] [stdout]    5 + use crate::fs::fd;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `fd` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3467:15
[INFO] [stdout]      |
[INFO] [stdout] 3467 |         match fd::clone_fd_table_group(parent_files_group, child_files_group) {
[INFO] [stdout]      |               ^^ use of unresolved module or unlinked crate `fd`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `fd`, use `cargo add fd` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]      |
[INFO] [stdout]    5 + use crate::fs::fd;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `proc::percpu`
[INFO] [stdout]    --> src/main.rs:708:44
[INFO] [stdout]     |
[INFO] [stdout] 708 |                 let my_cpu = proc::percpu::get_cpu_id();
[INFO] [stdout]     |                                            ^^^^^^^^^^ not found in `proc::percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4887:31
[INFO] [stdout]      |
[INFO] [stdout] 4887 |             .unwrap_or(crate::arch::mmu::current_root_table());
[INFO] [stdout]      |                               ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4887 |             .unwrap_or(crate::core::arch::mmu::current_root_table());
[INFO] [stdout]      |                               ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/block/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec`
[INFO] [stdout]   --> src/block/virtio_blk.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use alloc::vec;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/block/virtio_blk.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::virtio::mmio::{self, VirtIOMMIO};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoardPlatformOverrides`
[INFO] [stdout]   --> src/boards/mod.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use board_module::{BoardModuleInfo, BoardPlatformOverrides};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoardConfig`
[INFO] [stdout]  --> src/drivers/probe.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::boards::{self, BoardConfig, CurrentBoard};
[INFO] [stdout]   |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]   --> src/drivers/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use alloc::boxed::Box;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]   --> src/drivers/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::string::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/fs/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/fs/ramfs/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::collections::BTreeMap`
[INFO] [stdout]  --> src/fs/ramfs/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use alloc::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/fs/devfs/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoundedMessageQueue`, `MessageQueue`, and `Message`
[INFO] [stdout]  --> src/ipc/mod.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use message_queue::{MessageQueue, BoundedMessageQueue, Message};
[INFO] [stdout]   |                         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Elf64Error`
[INFO] [stdout]   --> src/module/mod.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use elf::{Elf64, Elf64Error};
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LoadedModule`, `ModuleInfo`, `ModuleRef`, `ModuleState`, and `Module`
[INFO] [stdout]   --> src/module/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use loader::{LoadedModule, Module, ModuleError, ModuleInfo, ModuleLoader, ModuleRef, ModuleState};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^               ^^^^^^^^^^                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KernelSymbol`, `lookup_symbol`, and `register_symbol`
[INFO] [stdout]   --> src/module/mod.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use symbol::{lookup_symbol, register_symbol, KernelSymbol};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IrqSpinlockGuard` and `SpinlockGuard`
[INFO] [stdout]   --> src/sync/mod.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use spinlock::{IrqSpinlock, IrqSpinlockGuard, Spinlock, SpinlockGuard};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]   --> src/sync/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use mutex::{Mutex, MutexGuard};
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadGuard` and `WriteGuard`
[INFO] [stdout]   --> src/sync/mod.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use rwlock::{RwLock, ReadGuard, WriteGuard};
[INFO] [stdout]    |                          ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seqlock::SeqLock`
[INFO] [stdout]   --> src/sync/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use seqlock::SeqLock;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RcuCell` and `RcuReadGuard`
[INFO] [stdout]   --> src/sync/mod.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use rcu::{RcuCell, RcuReadGuard};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4888:34
[INFO] [stdout]      |
[INFO] [stdout] 4888 |         let kernel_root = crate::arch::mmu::kernel_root_table();
[INFO] [stdout]      |                                  ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4888 |         let kernel_root = crate::core::arch::mmu::kernel_root_table();
[INFO] [stdout]      |                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/virtio/queue.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::sync::Arc`
[INFO] [stdout]     --> src/main.rs:1276:9
[INFO] [stdout]      |
[INFO] [stdout] 1276 |     use alloc::sync::Arc;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4889:42
[INFO] [stdout]      |
[INFO] [stdout] 4889 |         let isolated_root = match crate::arch::mmu::clone_root_table(kernel_root) {
[INFO] [stdout]      |                                          ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4889 |         let isolated_root = match crate::core::arch::mmu::clone_root_table(kernel_root) {
[INFO] [stdout]      |                                          ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl`
[INFO] [stdout]     --> src/main.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | / fn panic(_info: &PanicInfo) -> ! {
[INFO] [stdout] 1632 | |     kprintln!("Kernels panic: {}\n", _info);
[INFO] [stdout] 1633 | |     #[cfg(feature = "test_runner")]
[INFO] [stdout] ...    |
[INFO] [stdout] 1639 | |     loop {}
[INFO] [stdout] 1640 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the lang item is first defined in crate `std` (which `test` depends on)
[INFO] [stdout]      = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-ebc3593764c44f83.rmeta
[INFO] [stdout]      = note: second definition in the local crate (`kerners`)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4894:19
[INFO] [stdout]      |
[INFO] [stdout] 4894 |         if crate::arch::mmu::switch_root_table(isolated_root).is_err() {
[INFO] [stdout]      |                   ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4894 |         if crate::core::arch::mmu::switch_root_table(isolated_root).is_err() {
[INFO] [stdout]      |                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4898:28
[INFO] [stdout]      |
[INFO] [stdout] 4898 |             let _ = crate::arch::mmu::switch_root_table(old_root);
[INFO] [stdout]      |                            ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4898 |             let _ = crate::core::arch::mmu::switch_root_table(old_root);
[INFO] [stdout]      |                            ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]     --> src/syscall/process.rs:4909:27
[INFO] [stdout]      |
[INFO] [stdout] 4909 |                 if crate::arch::mmu::switch_root_table(old_root).is_err() {
[INFO] [stdout]      |                           ^^^^ unresolved import
[INFO] [stdout]      |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:29:5
[INFO] [stdout]      |
[INFO] [stdout]   27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout]   28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout]   29 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]     --> src/main.rs:33:5
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]      |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout]   32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout]   33 | mod arch;
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]      |
[INFO] [stdout] 4909 |                 if crate::core::arch::mmu::switch_root_table(old_root).is_err() {
[INFO] [stdout]      |                           ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     CurrentBoard::UART_BASE
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     CurrentBoard::UART_IRQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     CurrentBoard::UART_CLOCK_FREQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     CurrentBoard::TIMER_FREQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     CurrentBoard::TIMER_IRQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]    --> src/boards/mod.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     CurrentBoard::RAM_BASE
[INFO] [stdout]     |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]    --> src/boards/mod.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     CurrentBoard::RAM_SIZE
[INFO] [stdout]     |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `putc_arch` in this scope
[INFO] [stdout]  --> src/console.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         putc_arch(b);
[INFO] [stdout]   |         ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `putc_arch` in this scope
[INFO] [stdout]   --> src/console.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     putc_arch(c);
[INFO] [stdout]    |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in this scope
[INFO] [stdout]   --> src/proc/percpu.rs:77:18
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let cpu_id = get_cpu_id();
[INFO] [stdout]    |                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in this scope
[INFO] [stdout]    --> src/proc/percpu.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let cpu_id = get_cpu_id() as usize;
[INFO] [stdout]     |                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `enter_user_image` in this scope
[INFO] [stdout]    --> src/proc/user.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |         enter_user_image(entry, stack_top, argc, argv, envp, tls_pointer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `interrupts_enabled` in this scope
[INFO] [stdout]    --> src/sync/spinlock.rs:119:27
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let irq_enabled = interrupts_enabled();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `disable_interrupts` in this scope
[INFO] [stdout]    --> src/sync/spinlock.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         disable_interrupts();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `enable_interrupts` in this scope
[INFO] [stdout]    --> src/sync/spinlock.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |             enable_interrupts();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3475:20
[INFO] [stdout]      |
[INFO] [stdout] 3475 |         let root = vm_root_for_group(parent_vm_group);
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set_vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3476:9
[INFO] [stdout]      |
[INFO] [stdout] 3476 |         set_vm_root_for_group(child_vm_group, root);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3479:27
[INFO] [stdout]      |
[INFO] [stdout] 3479 |         let parent_root = vm_root_for_group(parent_vm_group);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set_vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3484:9
[INFO] [stdout]      |
[INFO] [stdout] 3484 |         set_vm_root_for_group(child_vm_group, child_root);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `clone_private_vm_for_fork` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3487:13
[INFO] [stdout]      |
[INFO] [stdout] 3487 |             clone_private_vm_for_fork(parent_vm_group, child_vm_group, parent_root, child_root)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `mark_pending_fork_child_ready` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3504:5
[INFO] [stdout]      |
[INFO] [stdout] 3504 |     mark_pending_fork_child_ready(child_tid);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set_vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:4928:9
[INFO] [stdout]      |
[INFO] [stdout] 4928 |         set_vm_root_for_group(new_vm_group, isolated_root);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0152, E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0152`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `arch` in `crate`
[INFO] [stdout]   --> src/time/mod.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let rtc_ns = crate::arch::rtc::read_epoch_ns();
[INFO] [stdout]    |                         ^^^^ unresolved import
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 28 | #[path = "arch/aarch64/mod.rs"]
[INFO] [stdout] 29 | mod arch;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]    |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 32 | #[path = "arch/riscv64/mod.rs"]
[INFO] [stdout] 33 | mod arch;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let rtc_ns = crate::core::arch::rtc::read_epoch_ns();
[INFO] [stdout]    |                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `arch` in this scope
[INFO] [stdout]    --> src/main.rs:587:31
[INFO] [stdout]     |
[INFO] [stdout] 587 |             if let Some(ch) = arch::uart::getc() {
[INFO] [stdout]     |                               ^^^^ use of unresolved module or unlinked crate `arch`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `arch`, use `cargo add arch` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `arch` in this scope
[INFO] [stdout]    --> src/main.rs:662:29
[INFO] [stdout]     |
[INFO] [stdout] 662 |                 let ticks = arch::timer::ticks();
[INFO] [stdout]     |                             ^^^^ use of unresolved module or unlinked crate `arch`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `arch`, use `cargo add arch` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kerners` (bin "kerners" test) due to 52 previous errors; 22 warnings emitted
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `crate::proc::percpu`
[INFO] [stdout]    --> src/log/mod.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let cpu_id = crate::proc::percpu::get_cpu_id() as usize;
[INFO] [stdout]     |                                       ^^^^^^^^^^ not found in `crate::proc::percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0425]: cannot find value `KERNEL_START` in this scope
[INFO] [stdout]    --> src/mm/mod.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |         kernel_start: KERNEL_START,
[INFO] [stdout]     |                       ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PLT_ENTRY_SIZE` in this scope
[INFO] [stdout]   --> src/module/loader.rs:33:44
[INFO] [stdout]    |
[INFO] [stdout] 33 | const MAX_PLT_ENTRIES: usize = PAGE_SIZE / PLT_ENTRY_SIZE;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PLT_ENTRY_SIZE` in this scope
[INFO] [stdout]   --> src/module/loader.rs:67:49
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let plt_addr = self.base + self.count * PLT_ENTRY_SIZE;
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `USER_TLSDESC_RESOLVER_ADDR` in module `crate::proc::user`
[INFO] [stdout]    --> src/module/loader.rs:444:66
[INFO] [stdout]     |
[INFO] [stdout] 444 |     const EXEC_TLSDESC_RESOLVER_ADDR: usize = crate::proc::user::USER_TLSDESC_RESOLVER_ADDR;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::proc::user`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/user.rs:50:11
[INFO] [stdout]     |
[INFO] [stdout]  49 | #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
[INFO] [stdout]     |          -------------------------------------------------- the item is gated here
[INFO] [stdout]  50 | pub const USER_TLSDESC_RESOLVER_ADDR: usize = USER_TLSDESC_HELPER_BASE;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Context` in this scope
[INFO] [stdout]    --> src/proc/context.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub fn context_switch(old_ctx: *mut Context, new_ctx: *const Context);
[INFO] [stdout]     |                                         ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   5 + use core::task::Context;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Context` in this scope
[INFO] [stdout]    --> src/proc/context.rs:168:66
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub fn context_switch(old_ctx: *mut Context, new_ctx: *const Context);
[INFO] [stdout]     |                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   5 + use core::task::Context;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `percpu`
[INFO] [stdout]    --> src/proc/scheduler.rs:14:26
[INFO] [stdout]     |
[INFO] [stdout]  14 |     let cpu_id = percpu::get_cpu_id();
[INFO] [stdout]     |                          ^^^^^^^^^^ not found in `percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `simple_user_program` in this scope
[INFO] [stdout]     --> src/proc/user.rs:1217:17
[INFO] [stdout]      |
[INFO] [stdout] 1217 |     let entry = simple_user_program as usize;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `percpu`
[INFO] [stdout]    --> src/proc/mod.rs:225:26
[INFO] [stdout]     |
[INFO] [stdout] 225 |     let my_cpu = percpu::get_cpu_id();
[INFO] [stdout]     |                          ^^^^^^^^^^ not found in `percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `USER_TLS_DATA_REGION_BASE` in module `crate::proc::user`
[INFO] [stdout]    --> src/syscall/process.rs:861:42
[INFO] [stdout]     |
[INFO] [stdout] 861 |     let region_base = crate::proc::user::USER_TLS_DATA_REGION_BASE;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::proc::user`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/user.rs:52:11
[INFO] [stdout]     |
[INFO] [stdout]  51 | #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
[INFO] [stdout]     |          -------------------------------------------------- the item is gated here
[INFO] [stdout]  52 | pub const USER_TLS_DATA_REGION_BASE: usize = USER_TLS_REGION_BASE + USER_TLSDESC_HELPER_SIZE;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `USER_TLS_DATA_REGION_SIZE` in module `crate::proc::user`
[INFO] [stdout]    --> src/syscall/process.rs:862:55
[INFO] [stdout]     |
[INFO] [stdout] 862 |     let region_end = region_base + crate::proc::user::USER_TLS_DATA_REGION_SIZE;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::proc::user`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/user.rs:54:11
[INFO] [stdout]     |
[INFO] [stdout]  53 | #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
[INFO] [stdout]     |          -------------------------------------------------- the item is gated here
[INFO] [stdout]  54 | pub const USER_TLS_DATA_REGION_SIZE: usize = USER_TLS_REGION_SIZE - USER_TLSDESC_HELPER_SIZE;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `fd` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3347:15
[INFO] [stdout]      |
[INFO] [stdout] 3347 |         match fd::clone_fd_table_group(parent_files_group, child_files_group) {
[INFO] [stdout]      |               ^^ use of unresolved module or unlinked crate `fd`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `fd`, use `cargo add fd` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]      |
[INFO] [stdout]    5 + use crate::fs::fd;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `fd` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3467:15
[INFO] [stdout]      |
[INFO] [stdout] 3467 |         match fd::clone_fd_table_group(parent_files_group, child_files_group) {
[INFO] [stdout]      |               ^^ use of unresolved module or unlinked crate `fd`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `fd`, use `cargo add fd` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]      |
[INFO] [stdout]    5 + use crate::fs::fd;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in module `proc::percpu`
[INFO] [stdout]    --> src/main.rs:708:44
[INFO] [stdout]     |
[INFO] [stdout] 708 |                 let my_cpu = proc::percpu::get_cpu_id();
[INFO] [stdout]     |                                            ^^^^^^^^^^ not found in `proc::percpu`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(target_arch = "aarch64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `aarch64` feature
[INFO] [stdout] 135 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/proc/percpu.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[cfg(target_arch = "riscv64")]
[INFO] [stdout]     |       ----------------------- the item is gated behind the `riscv64` feature
[INFO] [stdout] 146 | pub fn get_cpu_id() -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/block/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec`
[INFO] [stdout]   --> src/block/virtio_blk.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use alloc::vec;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/block/virtio_blk.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::virtio::mmio::{self, VirtIOMMIO};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoardPlatformOverrides`
[INFO] [stdout]   --> src/boards/mod.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use board_module::{BoardModuleInfo, BoardPlatformOverrides};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoardConfig`
[INFO] [stdout]  --> src/drivers/probe.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::boards::{self, BoardConfig, CurrentBoard};
[INFO] [stdout]   |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]   --> src/drivers/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use alloc::boxed::Box;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]   --> src/drivers/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::string::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/fs/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/fs/ramfs/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::collections::BTreeMap`
[INFO] [stdout]  --> src/fs/ramfs/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use alloc::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/fs/devfs/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoundedMessageQueue`, `MessageQueue`, and `Message`
[INFO] [stdout]  --> src/ipc/mod.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use message_queue::{MessageQueue, BoundedMessageQueue, Message};
[INFO] [stdout]   |                         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Elf64Error`
[INFO] [stdout]   --> src/module/mod.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use elf::{Elf64, Elf64Error};
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LoadedModule`, `ModuleInfo`, `ModuleRef`, `ModuleState`, and `Module`
[INFO] [stdout]   --> src/module/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use loader::{LoadedModule, Module, ModuleError, ModuleInfo, ModuleLoader, ModuleRef, ModuleState};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^               ^^^^^^^^^^                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KernelSymbol`, `lookup_symbol`, and `register_symbol`
[INFO] [stdout]   --> src/module/mod.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use symbol::{lookup_symbol, register_symbol, KernelSymbol};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IrqSpinlockGuard` and `SpinlockGuard`
[INFO] [stdout]   --> src/sync/mod.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use spinlock::{IrqSpinlock, IrqSpinlockGuard, Spinlock, SpinlockGuard};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]   --> src/sync/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use mutex::{Mutex, MutexGuard};
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadGuard` and `WriteGuard`
[INFO] [stdout]   --> src/sync/mod.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use rwlock::{RwLock, ReadGuard, WriteGuard};
[INFO] [stdout]    |                          ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seqlock::SeqLock`
[INFO] [stdout]   --> src/sync/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use seqlock::SeqLock;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RcuCell` and `RcuReadGuard`
[INFO] [stdout]   --> src/sync/mod.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use rcu::{RcuCell, RcuReadGuard};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/virtio/queue.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::sync::Arc`
[INFO] [stdout]     --> src/main.rs:1276:9
[INFO] [stdout]      |
[INFO] [stdout] 1276 |     use alloc::sync::Arc;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     CurrentBoard::UART_BASE
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     CurrentBoard::UART_IRQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     CurrentBoard::UART_CLOCK_FREQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     CurrentBoard::TIMER_FREQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]   --> src/boards/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     CurrentBoard::TIMER_IRQ
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]    --> src/boards/mod.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     CurrentBoard::RAM_BASE
[INFO] [stdout]     |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CurrentBoard` in this scope
[INFO] [stdout]    --> src/boards/mod.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     CurrentBoard::RAM_SIZE
[INFO] [stdout]     |     ^^^^^^^^^^^^ use of undeclared type `CurrentBoard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `putc_arch` in this scope
[INFO] [stdout]  --> src/console.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         putc_arch(b);
[INFO] [stdout]   |         ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `putc_arch` in this scope
[INFO] [stdout]   --> src/console.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     putc_arch(c);
[INFO] [stdout]    |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/log/mod.rs:188:23
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn get_timestamp() -> (u64, u64) {
[INFO] [stdout]     |    -------------      ^^^^^^^^^^ expected `(u64, u64)`, found `()`
[INFO] [stdout]     |    |
[INFO] [stdout]     |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]     |
[INFO] [stdout]     = note:  expected tuple `(u64, u64)`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `create_stub` found for mutable reference `&mut PltTable` in the current scope
[INFO] [stdout]   --> src/module/loader.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |         self.create_stub(plt_addr, target);
[INFO] [stdout]    |              ^^^^^^^^^^^ method not found in `&mut PltTable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in this scope
[INFO] [stdout]   --> src/proc/percpu.rs:77:18
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let cpu_id = get_cpu_id();
[INFO] [stdout]    |                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_cpu_id` in this scope
[INFO] [stdout]    --> src/proc/percpu.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let cpu_id = get_cpu_id() as usize;
[INFO] [stdout]     |                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `enter_user_image` in this scope
[INFO] [stdout]    --> src/proc/user.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |         enter_user_image(entry, stack_top, argc, argv, envp, tls_pointer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/proc/user.rs:281:5
[INFO] [stdout]     |
[INFO] [stdout] 281 | /     unsafe {
[INFO] [stdout] 282 | |         // SAFETY: init_process_entry는 준비된 유저 이미지/스택을 현재 스레드에 바인딩한 뒤
[INFO] [stdout] 283 | |         // 아키텍처별 예외 복귀 경로(eret/mret)로 유저 모드에 진입한다.
[INFO] [stdout] 284 | |         enter_user_image(entry, stack_top, argc, argv, envp, tls_pointer);
[INFO] [stdout] 285 | |     }
[INFO] [stdout]     | |_____^ expected `!`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected type `!`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `run` found for struct `UserProcess` in the current scope
[INFO] [stdout]     --> src/proc/user.rs:1223:19
[INFO] [stdout]      |
[INFO] [stdout]   62 | pub struct UserProcess {
[INFO] [stdout]      | ---------------------- method `run` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1223 |         user_proc.run();
[INFO] [stdout]      |                   ^^^ method not found in `UserProcess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/proc/user.rs:1222:5
[INFO] [stdout]      |
[INFO] [stdout] 1222 | /     unsafe {
[INFO] [stdout] 1223 | |         user_proc.run();
[INFO] [stdout] 1224 | |     }
[INFO] [stdout]      | |_____^ expected `!`, found `()`
[INFO] [stdout]      |
[INFO] [stdout]      = note:   expected type `!`
[INFO] [stdout]              found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `interrupts_enabled` in this scope
[INFO] [stdout]    --> src/sync/spinlock.rs:119:27
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let irq_enabled = interrupts_enabled();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `disable_interrupts` in this scope
[INFO] [stdout]    --> src/sync/spinlock.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         disable_interrupts();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `enable_interrupts` in this scope
[INFO] [stdout]    --> src/sync/spinlock.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |             enable_interrupts();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3475:20
[INFO] [stdout]      |
[INFO] [stdout] 3475 |         let root = vm_root_for_group(parent_vm_group);
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set_vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3476:9
[INFO] [stdout]      |
[INFO] [stdout] 3476 |         set_vm_root_for_group(child_vm_group, root);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3479:27
[INFO] [stdout]      |
[INFO] [stdout] 3479 |         let parent_root = vm_root_for_group(parent_vm_group);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set_vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3484:9
[INFO] [stdout]      |
[INFO] [stdout] 3484 |         set_vm_root_for_group(child_vm_group, child_root);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `clone_private_vm_for_fork` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3487:13
[INFO] [stdout]      |
[INFO] [stdout] 3487 |             clone_private_vm_for_fork(parent_vm_group, child_vm_group, parent_root, child_root)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `mark_pending_fork_child_ready` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:3504:5
[INFO] [stdout]      |
[INFO] [stdout] 3504 |     mark_pending_fork_child_ready(child_tid);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set_vm_root_for_group` in this scope
[INFO] [stdout]     --> src/syscall/process.rs:4928:9
[INFO] [stdout]      |
[INFO] [stdout] 4928 |         set_vm_root_for_group(new_vm_group, isolated_root);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/virtio/mod.rs:163:45
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn extract_irq_number(info: &DeviceInfo) -> u32 {
[INFO] [stdout]     |    ------------------                       ^^^ expected `u32`, found `()`
[INFO] [stdout]     |    |
[INFO] [stdout]     |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/drivers/probe.rs:203:16
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn probe_timer(dt: Option<&DeviceTree>) -> TimerConfig {
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/fs/devfs/mod.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn read(&self, _offset: usize, buf: &mut [u8]) -> VfsResult<usize> {
[INFO] [stdout]     |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_size`
[INFO] [stdout]   --> src/fs/fat32/mod.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let cluster_size = self.boot.sectors_per_cluster as usize
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_size`
[INFO] [stdout]    --> src/fs/fat32/mod.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let cluster_size = self.boot.sectors_per_cluster as usize
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_size`
[INFO] [stdout]    --> src/fs/fat32/mod.rs:821:13
[INFO] [stdout]     |
[INFO] [stdout] 821 |         let cluster_size = self.boot.sectors_per_cluster as usize
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/fs/mod.rs:224:20
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn read(&self, offset: usize, buf: &mut [u8]) -> VfsResult<usize> {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/fs/mod.rs:224:35
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn read(&self, offset: usize, buf: &mut [u8]) -> VfsResult<usize> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/fs/mod.rs:233:21
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn write(&self, offset: usize, buf: &[u8]) -> VfsResult<usize> {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/fs/mod.rs:233:36
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn write(&self, offset: usize, buf: &[u8]) -> VfsResult<usize> {
[INFO] [stdout]     |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/fs/mod.rs:262:24
[INFO] [stdout]     |
[INFO] [stdout] 262 |     fn truncate(&self, size: u64) -> VfsResult<()> {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/fs/mod.rs:267:22
[INFO] [stdout]     |
[INFO] [stdout] 267 |     fn lookup(&self, name: &str) -> VfsResult<Arc<dyn VNode>> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/fs/mod.rs:272:22
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn create(&self, name: &str, node_type: VNodeType, mode: FileMode) -> VfsResult<Arc<dyn VNode>> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_type`
[INFO] [stdout]    --> src/fs/mod.rs:272:34
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn create(&self, name: &str, node_type: VNodeType, mode: FileMode) -> VfsResult<Arc<dyn VNode>> {
[INFO] [stdout]     |                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/fs/mod.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn create(&self, name: &str, node_type: VNodeType, mode: FileMode) -> VfsResult<Arc<dyn VNode>> {
[INFO] [stdout]     |                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/fs/mod.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |     fn unlink(&self, name: &str) -> VfsResult<()> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/fs/mod.rs:282:21
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn rmdir(&self, name: &str) -> VfsResult<()> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/fs/mod.rs:295:21
[INFO] [stdout]     |
[INFO] [stdout] 295 |     fn chmod(&self, mode: FileMode) -> VfsResult<()> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/fs/mod.rs:310:23
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn symlink(&self, name: &str, target: &str) -> VfsResult<Arc<dyn VNode>> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/fs/mod.rs:310:35
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn symlink(&self, name: &str, target: &str) -> VfsResult<Arc<dyn VNode>> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `machine`
[INFO] [stdout]    --> src/module/elf.rs:515:13
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let machine = ElfMachine::from(header.e_machine);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_machine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elf`
[INFO] [stdout]     --> src/module/loader.rs:1461:9
[INFO] [stdout]      |
[INFO] [stdout] 1461 |         elf: &Elf64,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_elf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/module/loader.rs:1462:9
[INFO] [stdout]      |
[INFO] [stdout] 1462 |         data: &[u8],
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dyn_info`
[INFO] [stdout]     --> src/module/loader.rs:1464:9
[INFO] [stdout]      |
[INFO] [stdout] 1464 |         dyn_info: &ExecutableDynamicInfo,
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dyn_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_tls`
[INFO] [stdout]     --> src/module/loader.rs:1465:9
[INFO] [stdout]      |
[INFO] [stdout] 1465 |         current_tls: &ExecutableTlsInfo,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strtab`
[INFO] [stdout]     --> src/module/loader.rs:1466:9
[INFO] [stdout]      |
[INFO] [stdout] 1466 |         strtab: Option<&[u8]>,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_strtab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_mappings`
[INFO] [stdout]     --> src/module/loader.rs:1467:9
[INFO] [stdout]      |
[INFO] [stdout] 1467 |         page_mappings: &[ExecPageMapping],
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_mappings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_type`
[INFO] [stdout]     --> src/module/loader.rs:1470:13
[INFO] [stdout]      |
[INFO] [stdout] 1470 |         let rel_type = rela.rel_type();
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rel_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]     --> src/module/loader.rs:1471:13
[INFO] [stdout]      |
[INFO] [stdout] 1471 |         let sym = rela.symbol();
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `place`
[INFO] [stdout]     --> src/module/loader.rs:1472:13
[INFO] [stdout]      |
[INFO] [stdout] 1472 |         let place = (rela.r_offset as usize)
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_place`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addend`
[INFO] [stdout]     --> src/module/loader.rs:1475:13
[INFO] [stdout]      |
[INFO] [stdout] 1475 |         let addend = rela.r_addend;
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_addend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elf`
[INFO] [stdout]     --> src/module/loader.rs:1699:9
[INFO] [stdout]      |
[INFO] [stdout] 1699 |         elf: &Elf64,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_elf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/module/loader.rs:1700:9
[INFO] [stdout]      |
[INFO] [stdout] 1700 |         data: &[u8],
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dyn_info`
[INFO] [stdout]     --> src/module/loader.rs:1702:9
[INFO] [stdout]      |
[INFO] [stdout] 1702 |         dyn_info: &ExecutableDynamicInfo,
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dyn_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_tls`
[INFO] [stdout]     --> src/module/loader.rs:1703:9
[INFO] [stdout]      |
[INFO] [stdout] 1703 |         current_tls: &ExecutableTlsInfo,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strtab`
[INFO] [stdout]     --> src/module/loader.rs:1704:9
[INFO] [stdout]      |
[INFO] [stdout] 1704 |         strtab: Option<&[u8]>,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_strtab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_type`
[INFO] [stdout]     --> src/module/loader.rs:1708:13
[INFO] [stdout]      |
[INFO] [stdout] 1708 |         let rel_type = rel.rel_type();
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rel_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]     --> src/module/loader.rs:1709:13
[INFO] [stdout]      |
[INFO] [stdout] 1709 |         let sym = rel.symbol();
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addend`
[INFO] [stdout]     --> src/module/loader.rs:1713:13
[INFO] [stdout]      |
[INFO] [stdout] 1713 |         let addend = Self::read_exec_u64(page_mappings, place)? as i64;
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_addend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writable`
[INFO] [stdout]     --> src/module/loader.rs:2157:17
[INFO] [stdout]      |
[INFO] [stdout] 2157 |             let writable = (ph.p_flags & PF_W) != 0;
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_writable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executable`
[INFO] [stdout]     --> src/module/loader.rs:2158:17
[INFO] [stdout]      |
[INFO] [stdout] 2158 |             let executable = (ph.p_flags & PF_X) != 0;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plt`
[INFO] [stdout]     --> src/module/loader.rs:2363:64
[INFO] [stdout]      |
[INFO] [stdout] 2363 |     fn apply_relocations(elf: &Elf64, section_addrs: &[usize], plt: &mut Option<PltTable>) -> Result<(), ModuleError> {
[INFO] [stdout]      |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_plt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_type`
[INFO] [stdout]     --> src/module/loader.rs:2389:21
[INFO] [stdout]      |
[INFO] [stdout] 2389 |                 let rel_type = rela.rel_type();
[INFO] [stdout]      |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rel_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym_value`
[INFO] [stdout]     --> src/module/loader.rs:2399:21
[INFO] [stdout]      |
[INFO] [stdout] 2399 |                 let sym_value = if sym.st_shndx == section_index::SHN_UNDEF {
[INFO] [stdout]      |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sym_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reloc_addr`
[INFO] [stdout]     --> src/module/loader.rs:2419:21
[INFO] [stdout]      |
[INFO] [stdout] 2419 |                 let reloc_addr = section_base + rela.r_offset as usize;
[INFO] [stdout]      |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reloc_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addend`
[INFO] [stdout]     --> src/module/loader.rs:2420:21
[INFO] [stdout]      |
[INFO] [stdout] 2420 |                 let addend = rela.r_addend;
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_addend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]     --> src/module/loader.rs:2761:21
[INFO] [stdout]      |
[INFO] [stdout] 2761 |     fn flush_icache(addr: usize, size: usize) {
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]     --> src/module/loader.rs:2761:34
[INFO] [stdout]      |
[INFO] [stdout] 2761 |     fn flush_icache(addr: usize, size: usize) {
[INFO] [stdout]      |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]     --> src/syscall/process.rs:4384:5
[INFO] [stdout]      |
[INFO] [stdout] 4384 |     addr: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::read_volatile` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/virtio/mmio.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         read_volatile((self.base + offset) as *const u32)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/virtio/mmio.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     unsafe fn read(&self, offset: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::write_volatile` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/virtio/mmio.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         write_volatile((self.base + offset) as *mut u32, value);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/virtio/mmio.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     unsafe fn write(&self, offset: usize, value: u32) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/virtio/mod.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let device_type = unsafe {
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtb_addr`
[INFO] [stdout]    --> src/main.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub extern "C" fn _entry(dtb_addr: usize) -> ! {
[INFO] [stdout]     |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dtb_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0308, E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kerners` (bin "kerners") due to 58 previous errors; 74 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e", kill_on_drop: false }`
[INFO] [stdout] 6ca7ae1f83f0127815585f8de6d588021007f3a8eb1baee1ec1cd5127b65561e
